Application software is a subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. This may be contrasted with system software which is involved in integrating various capabilities for a computer, but typically does not directly apply them in the performance of tasks that benefit the user. Creating a new application program or programming against an existing application program may be difficult, however, since it requires intimate knowledge of various application program interfaces, internal data structures and data schemas, and how an application program actually works. Consequently, programming solutions are typically complex, proprietary and expensive to develop. Accordingly, there may be a need for improved techniques to solve these and other problems.